package com.hera.process.config.rest.delegate;

import java.util.List;

import com.hera.base.util.FiltroDTO;
import com.hera.process.config.domain.ParameterDetail;
import com.hera.process.security.domain.SecGroupModule;
import com.hera.process.security.domain.SecurityGroup;
import com.hera.process.security.domain.User;

public interface SecurityDelegate {			
	
	//////////////////////SYSUSER //////////////////////////////////////////////
	public List<User> findAllSysUsers(FiltroDTO filtroDTO);
	public User createSysUser(User sysuser);
	public User updatedSysUser(User sysuser);
	public void deleteSysuser(User sysuser);
	public User validateUser(User sysuser);
	
	//////////////////////SECURITY GROUP //////////////////////////////////////////////
	public List<SecurityGroup> findAllSecurityGroups(FiltroDTO filtroDTO);
	public SecurityGroup createSecurityGroup(SecurityGroup secutritygroup);
	public SecurityGroup updatedSecurityGroup(SecurityGroup secutritygroup);
	public void deleteSecurityGroup(SecurityGroup secutritygroup);
	
	//////////////////////SECGROUPMODULE //////////////////////////////////////////////
	public List<SecGroupModule> findAllSecGroupModules(FiltroDTO filtroDTO);
	public List<ParameterDetail> findAllSecGroupModuleSiAsig(SecurityGroup securityGroup);
	public List<ParameterDetail> findAllSecGroupModuleNoAsig(SecurityGroup securityGroup);
	public SecGroupModule createSecGroupModule(SecGroupModule scgmodule);
	public SecGroupModule updatedSecGroupModule(SecGroupModule scgmodule);
	public void deleteSecGroupModule(SecGroupModule scgmodule);
}
